---@class BuffEffect49 : BaseBuffEffect
BuffEffect49 = ClientFight.CreateClass("BuffEffect49", ClientFight.BaseBuffEffect)
local t = BuffEffect49

---@param fight Fight
---@param buff FighterBuff
function t:action(fight, buff, ...)
    local target = buff.target
    local type = buff.buffBean.f_BuffEffectValue[1];
    local duration = buff.buffBean.f_BuffEffectValue[2] / Global.FIGHT_FRAME;
    local skillId = buff.buffBean.f_BuffEffectValue[3];
    if (skillId == 0) then
        for k, cooldown in pairs(target.cooldowns) do
            cooldown.delay = cooldown.delay + duration * type
        end
    else
        local cooldown = target.cooldowns[skillId]
        if (cooldown ~= nil) then
            cooldown.delay = cooldown.delay + duration * type
        end
    end
    SkillRoleMgr.savePathFile( "[" .. fight.frame .. "][EFFECT]Fighter " .. buff.target.fighterId .. " Buff:"
    .. buff.modelId .. " 触发 cd减少: ".. (duration * type));
    return ClientFight.BaseBuffEffect.action(self,fight, buff, ...);
end

t.New()